// pages/login/login.js
const app = getApp();
const md5 = require('../../assets/js/md5/md5.js');
Page({
  data: {
    phone: '',
    password: '',
    user: null,
    userInfo: null,
    //判断小程序的API，回调，参数，组件等是否在当前版本可用。
    canIUse: wx.canIUse('button.open-type.getUserInfo'),
    isHide: false,
    isShowUserName: false
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    var that = this;
    var user =  wx.getStorageSync('user');
    var phone =  wx.getStorageSync('phone');
    var wx_user =  wx.getStorageSync('wx_user');
    var password =  wx.getStorageSync('password');
    // wx.clearStorageSync();
    // wx.removeStorageSync('user');
    if (user) {
    that.setData({
      isShowUserName: true,
      userInfo: user,
      phone: phone,
      password: password
    })
    } else {
    // 由于 getUserInfo 是网络请求，可能会在 Page.onLoad 之后才返回
    // 所以此处加入 callback 以防止这种情况
    app.userInfoReadyCallback = res => {
      that.setData({
      userInfo: res.userInfo,
      isShowUserName: true
      })
    }
    }
    // 查看是否授权
    wx.getSetting({
        success: function(res) {
            if (res.authSetting['scope.userInfo']) {
                wx.getUserInfo({
                    success: function(res) {
                        // 用户已经授权过,不需要显示授权页面,所以不需要改变 isHide 的值
                        // 根据自己的需求有其他操作再补充
                        // 我这里实现的是在用户授权成功后，调用微信的 wx.login 接口，从而获取code
                        wx.login({
                            success: res => {
                                // 获取到用户的 code 之后：res.code
                                console.log("用户的code:" + res.code);
                                // 可以传给后台，再经过解析获取用户的 openid
                                // 或者可以直接使用微信的提供的接口直接获取 openid ，方法如下：
                                wx.request({
                                    // 自行补上自己的 APPID 和 SECRET
                                    url: 'https://api.weixin.qq.com/sns/jscode2session?appid=wxd1144a6b7f350659&secret=6942a13626b2b509b2fc019ff3fd95b1&js_code=' + res.code + '&grant_type=authorization_code',
                                    success: res => {
                                        // 获取到用户的 openid
                                        console.log("用户的openid:" + res.data.openid);
                                    }
                                });
                            }
                        });
                    }
                });
            } else {
                // 用户没有授权
                // 改变 isHide 的值，显示授权页面
                that.setData({
                    isHide: true
                });
            }
        }
    });
    if (wx_user != null && wx_user != '') {
      wx.showToast({
        title: '自动登录成功！',
        icon: 'success',
        duration: 1000,
        success:function(){
          setTimeout(function () {
            //要延时执行的代码,延迟1s
            wx.reLaunch({
              url: '../index/index',
            })
          },1000)
        }
      })   
    }
  },

  bindGetUserInfo: function(e) {
    if (e.detail.userInfo) {
        //用户按了允许授权按钮
        var that = this;
        var user = e.detail.userInfo;
        // 获取到用户的信息了，打印到控制台上看下
        console.log("用户的信息如下：");
        console.log(e.detail.userInfo);
        //授权成功后,通过改变 isHide 的值，让实现页面显示出来，把授权页面隐藏起来
        that.setData({
            isHide: false,
            isShowUserName: true,
            userInfo: e.detail.userInfo
        });
        user.openid = app.globalData.openid;
        app._saveUserInfo(user);
    } else {
        //用户按了拒绝按钮
        wx.showModal({
            title: '警告',
            content: '您点击了拒绝授权，将无法进入小程序，请授权之后再进入!!!',
            showCancel: false,
            confirmText: '返回授权',
            success: function(res) {
                // 用户没有授权成功，不需要改变 isHide 的值
                if (res.confirm) {
                    console.log('用户点击了“返回授权”');
                }
            }
        });
    }
},

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  //登录
  // 获取输入账号
 
  phoneInput: function (e) {
    this.setData({
      phone: e.detail.value
    })
  },
   
  // 获取输入密码
  passwordInput: function (e) {
    this.setData({
      password: e.detail.value
    })
  },
   
  // 登录
  login: function (options) {
    var that = this;
    var phone = this.data.phone;
    var password = this.data.password;
    var password_b64 = md5.hexMD5(phone+password); 
    if (this.data.phone.length == 0 || this.data.password.length == 0) {
      wx.showToast({
        title: '用户名和密码不能为空',
        icon: 'none',
        duration: 2000
      })
      return;
    }
    wx.request({
      url: app.globalData.baseUrl + '/wechatprogram/WxUser/login',
      method: 'post',
      data: {
        phone: phone,
        password: password_b64
      },
      header: {
        'content-type': 'application/x-www-form-urlencoded',
      },
      success(res) {
        wx.setStorageSync('phone', phone); 
        // 这里修改成跳转的页面
        if (res.data.code == 0) {
          wx.setStorageSync('wx_user',  res.data.data);
          wx.showToast({
            title: '登录成功！',
            icon: 'success',
            duration: 1500,
            success:function(){
              setTimeout(function () {
                //要延时执行的代码
                wx.reLaunch({
                  url: '../index/index',
                })
              },1500) //延迟时间
             
            }
          })   
        } else {
          wx.showToast({   
            title: res.data.msg,   
            icon: 'none',   
            duration: 2000   
          }) 
        } 
      },
      fail: (res) => {
        wx.showToast({
          title: '登陆失败！',   
          icon: 'none',   
          duration: 2000
        })
      },
      complete: (res) => {
      }
    });
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }

  
})